package com.yunchao.bank.business.pesentation.screen.details

import com.yunchao.feature.base.presentation.viewmodel.BaseAction
import com.yunchao.feature.base.presentation.viewmodel.BaseEffect
import com.yunchao.feature.base.presentation.viewmodel.BaseState
import com.yunchao.feature.base.presentation.viewmodel.BaseViewModel

internal class BusinessDetailsViewModel :
    BaseViewModel<BusinessDetailsViewModel.UiState, BusinessDetailsViewModel.Action, BusinessDetailsViewModel.UiEffect>(
        UiState.Idle
    ) {


    internal sealed interface Action : BaseAction<UiState> {

    }

    internal sealed interface UiState : BaseState {
        data object Idle : UiState
    }

    internal sealed interface UiEffect : BaseEffect {
        data object ShowLoading : UiEffect
        data object HideLoading : UiEffect
        data class ShowToast(val msg: String) : UiEffect
    }
}